angular.module('smartOlwApp').controller('paisCtrl', function($scope,smartOlwServices){
	$scope.titulo_mensajes = "Información!";
	$scope.descripcion_mensajes  = "En esta vista puede administrar el maestro de paises";

	var divMessages  = document.querySelector('#messageBox');
	divMessages.className = "alert alert-info alert-dismissable";
	$scope.lista = {pais: []};
	
	var opcion = "C";
	
	/**Función para listar todas los paises**/
	$scope.listar = function(){
		try{
			var exito = function(respuesta){
				try{
					if (opcion == "G"){
						$scope.paises = angular.fromJson(respuesta.data);
					}else{
						$scope.paises = angular.fromJson(respuesta.data);
						$scope.titulo_mensajes = "Información!";
						$scope.descripcion_mensajes  = "Paises listados con éxito";
						divMessages.className = "alert alert-info alert-dismissable";
						$scope.scpais = "";
						$scope.copais = "";
						$scope.dspais = "";	
					}
					opcion = "C";
				}catch(e){
					console.log(e.message);
				}
			}

			var error = function(respuesta){
				$scope.titulo_mensajes = "Error!";
				$scope.descripcion_mensajes  = "Se produjo un error al momento de consultar la información de paises";
				divMessages.className = "alert alert-danger alert-dismissable";
				alert(angular.toJson(respuesta));
			}
			smartOlwServices.sendGet(hostSmart+context+endPointPais+methodGetAllPais,exito,error);
		}catch(e){
			$scope.titulo_mensajes = "Error!";
			$scope.descripcion_mensajes  = "Se produjo un error al momento de consultar la información de paises";
			divMessages.className = "alert alert-danger alert-dismissable";
		}
	}

	/**Función para seleccionar un país de la lista y colocar en los campos**/
	$scope.seleccionar = function(editpais){
		try{
			var pais = angular.fromJson(editpais);
			$scope.scpais = pais.scpais;
			$scope.copais = pais.copais;
			$scope.dspais = pais.dspais;
			$scope.titulo_mensajes = "Información!";
			$scope.descripcion_mensajes  = "Puede editar el país seleccionado";
			divMessages.className = "alert alert-info alert-dismissable";
		}catch(e){
			$scope.titulo_mensajes = "Error!";
			$scope.descripcion_mensajes  = "Se produjo un error al momento de seleccionar el país";
			divMessages.className = "alert alert-danger alert-dismissable";
		}
	}
	
	$scope.grabar = function(){
		try{
			var exito = function(respuesta){
				if($scope.copais == "" || $scope.copais === undefined || $scope.dspais == "" || $scope.dspais === undefined){
					$scope.titulo_mensajes = "Advertencia!";
					$scope.descripcion_mensajes  = "El código y el nombre del país son obligatorios";
					divMessages.className = "alert alert-danger alert-dismissable";
					return;
				}
				opcion = "G";
				$scope.titulo_mensajes = "Información!";
				$scope.descripcion_mensajes  = "País almacenado con éxito";
				divMessages.className = "alert alert-info alert-dismissable";
				console.log(angular.toJson(respuesta.data));
				$scope.limpiar();
			}
			var error = function(respuesta){
				console.log(angular.toJson(respuesta));
			}
			
			var pais =  new Object;
			
			pais.scpais = $scope.scpais;
			pais.copais = $scope.copais;
			pais.dspais = $scope.dspais;
			pais.fhmodificacion = "2016-02-26";
			pais.cousuario = "ceramos";
			pais.fhingreso = "2016-02-26";
			pais.fhretiro = null;
			
			smartOlwServices.sendPut(angular.toJson(pais),hostSmart+context+endPointPais+methodSetPais,exito,error);
		}catch(e){
			$scope.titulo_mensajes = "Error!";
			$scope.descripcion_mensajes  = "Se produjo un error al momento de almacenar el país";
			divMessages.className = "alert alert-danger alert-dismissable";
			console.log(e.message);
		}
	}

	$scope.eliminar = function(){
		try{
			var exito = function(respuesta){
				if($scope.scpais == "" || $scope.scpais === undefined || $scope.copais == "" || $scope.copais === undefined || $scope.dspais == "" || $scope.dspais === undefined){
					$scope.titulo_mensajes = "Advertencia!";
					$scope.descripcion_mensajes  = "Debe seleccionar un país para realizar esta acción";
					divMessages.className = "alert alert-danger alert-dismissable";
					return;
				}
				opcion = "G";
				$scope.titulo_mensajes = "Información!";
				$scope.descripcion_mensajes  = "País eliminado con éxito";
				divMessages.className = "alert alert-info alert-dismissable";
				console.log(angular.toJson(respuesta.data));
				$scope.limpiar();
			}

			var error = function(respuesta){
				console.log(angular.toJson(respuesta));
			}

			var pais =  new Object;
			
			pais.scpais = $scope.scpais;
			pais.copais = $scope.copais;
			pais.dspais = $scope.dspais;
			pais.fhmodificacion = "2016-02-26";
			pais.cousuario = "ceramos";
			pais.fhingreso = "2016-02-26";
			pais.fhretiro = "2016-02-26";

			smartOlwServices.sendPut(angular.toJson(pais),hostSmart+context+endPointPais+methodRemovePais,exito,error);
		}catch(e){
			$scope.titulo_mensajes = "Error!";
			$scope.descripcion_mensajes  = "Se produjo un error al momento de eliminar el país";
			divMessages.className = "alert alert-danger alert-dismissable";
			console.log(e.message);
		}
	}

	$scope.limpiar = function(){
		try{
			$scope.scpais=0;
			$scope.copais="";
			$scope.dspais="";
			$scope.listar();
		}catch(e){
			console.log(e.message);
		}
	}

});